package com.xg.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xg.sys.entity.SysUserRole;

import java.util.List;


/**
 * <p>
 * 用户与角色对应关系 服务类
 * </p>
 *
 * @author ChenLiang
 * @since 2019-04-17
 */
public interface SysUserRoleService extends IService<SysUserRole> {
    void saveOrUpdate(Long id, List<Long> roleIdList);

    /**
     * 根据用户ID，获取角色ID列表
     */
    List<Long> queryRoleIdList(Long ids);


    int deleteBatch(Long[] ids);


    List<Long> getList(Long id) throws Exception;

    /**
     * 根据当前登录用户判断是否根据场站过滤数据
     * 需要过滤:    场所管理员,场所操作员
     * 不需要过滤:  系统管理员
     * TODO 后续增加角色也分为过滤不过滤,修改此方法
     * @return true[需要区分场站],false[不区分]
     */
    Boolean needStaCode();

    void relateRole(List<Long> roleIds, Long userId);

    /**
     * 根据用户ID删除用户角色关联关系
     * @param userId
     * @return
     */
    boolean removeByUserId(Long userId);

    List<SysUserRole> getRidListByUidList(List<Long> uidList);

    List<SysUserRole> getUserRoleByRidList(List<Long> ridList);
}
